

#if !defined(_SCREENELEMENT_H)
#define _SCREENELEMENT_H

#include "Point.h"
#include "Shape.h"
#include <SDL.h>

class ScreenElement {
private:
	Point* position;
	Point* speed;
	int status;
	Shape* shape;
public:

	// Constructor / Desctructor
	ScreenElement(); 
	virtual ~ScreenElement(); 

	// Getters / Setters
	Point* getPosition();
	void setPosition(Point* p);

	Point* getSpeed();
	void setSpeed(Point* s);

	Shape* getShape();
	void setShape(Shape* shape);

	// Metodos de negocio
	void virtual update()=0;
	void virtual collide(ScreenElement* elem, Point puntoChoque)=0;
	void virtual draw(SDL_Surface* screen)=0;
};

#endif  //_SCREENELEMENT_H
